package com.education.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author 日期类转换
 *
 */
public class DateUtil {
    /**Date类型转换为String类型
     * @param date 日期
     * @param format 时间转换格式
     * @return String
     */
    public static String formatDate(Date date,String format){
        String result="";
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        if(date!=null){
            result=sdf.format(date);
        }
        return result;
    }
    /**
     * @param str 时间字符串
     * @param format 时间转换格式
     * @return Date
     * @throws ParseException 日期转换异常
     * 2017/8/4 by 雷紫辉  前台传来的字符串为UTC格式的时间 存入数据库会少一天。故增加if
     */
    public static Date formatString (String str,String format) throws ParseException{

        if(str.indexOf("T")>0&&str.indexOf("Z")>0){//为UTC时间
            str=str.replace("Z"," UTC");
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
            //SimpleDateFormat sdf1=new SimpleDateFormat(format);
            return sdf.parse(str);

        }else {
            SimpleDateFormat sdf=new SimpleDateFormat(format);
            return sdf.parse(str);
        }

    }

    /**
     * UTC时间字符串转GMT时间字符串
     * 2017/8/4 by 雷紫辉
     * @param str
     * @return
     * @throws ParseException
     */
    public static String UTC2GMT(String str) throws ParseException {
        if(str.indexOf("T")>0&&str.indexOf("Z")>0){//为UTC时间
            str=str.replace("Z"," UTC");
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
            SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
            return sdf1.format(sdf.parse(str));

        }else {
            return str;
        }
    }

}
